<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output indent="yes"/>
    <xsl:variable name="unit_temp">
        <xsl:value-of select="/weather/head/ut"/>
    </xsl:variable>
    <xsl:variable name="unit_pres">
        <xsl:value-of select="/weather/head/up"/>
    </xsl:variable>
    <xsl:variable name="unit_speed">
        <xsl:value-of select="/weather/head/us"/>
    </xsl:variable>
    <xsl:variable name="unit_dist">
        <xsl:value-of select="/weather/head/ud"/>
    </xsl:variable>
    <xsl:template match="/weather">
        <xsl:copy>
            <xsl:apply-templates select="*"/>
        </xsl:copy>
    </xsl:template>
    
    <xsl:template match="/error">
    	<response>
        <xsl:element name="error">
            <xsl:attribute name="type">
            	<xsl:value-of select="err/@type"/>
            </xsl:attribute>
            <xsl:attribute name="message">
            	<xsl:value-of select="err/text()"/>
            </xsl:attribute>
        </xsl:element>
        </response>
    </xsl:template>
    
    <xsl:template match="cc">
        <current>
            <temp>
                <xsl:value-of select="tmp"/>
                <xsl:text>&#xBA;</xsl:text>
                <xsl:value-of select="$unit_temp"/>
            </temp>
            <sky>
                <xsl:attribute name="icon">
                    <xsl:value-of select="icon"/>
                </xsl:attribute>
                <xsl:value-of select="t"/>
            </sky>
            <place>
                <xsl:value-of select="obst"/>
            </place>
            <wind>
                <xsl:value-of select="wind/s"/>
                <xsl:text> </xsl:text>
                <xsl:value-of select="$unit_speed"/>
                <xsl:text> </xsl:text>
                <xsl:value-of select="wind/t"/>
            </wind>
            <humidity>
                <xsl:value-of select="hmid"/>
                <xsl:text>%</xsl:text>
            </humidity>
            <pressure>
                <xsl:value-of select="bar/r"/>
                <xsl:text> </xsl:text>
                <xsl:value-of select="$unit_pres"/>
            </pressure>
            <dew>
                <xsl:value-of select="dewp"/>
                <xsl:text>&#xBA;</xsl:text>
                <xsl:value-of select="$unit_temp"/>
            </dew>
            <visibility>
                <xsl:value-of select="vis"/>
                <xsl:text> </xsl:text>
                <xsl:value-of select="$unit_dist"/>
            </visibility>
            <uv>
                <xsl:value-of select="uv/i"/>
                <xsl:text> </xsl:text>
                <xsl:value-of select="uv/t"/>
            </uv>
        </current>
    </xsl:template>
    <xsl:template match="dayf">
        <forecast>
            <xsl:apply-templates select="day"/>
        </forecast>
    </xsl:template>
    <xsl:template match="day">
        <xsl:copy>
            <xsl:copy-of select="@*"/>
            <hi>
            	<xsl:value-of select="hi"/>
            	<xsl:if test="not(starts-with(hi, 'N'))">
            		<xsl:text>&#xBA;</xsl:text>
                	<xsl:value-of select="$unit_temp"/>
                </xsl:if>
            </hi>
            <low>
            	<xsl:value-of select="low"/>
            	<xsl:if test="not(starts-with(low, 'N'))">
            		<xsl:text>&#xBA;</xsl:text>
                	<xsl:value-of select="$unit_temp"/>
                </xsl:if>
            </low>
            <sky>
                <xsl:attribute name="icon">
                    <xsl:value-of select="part[@p='d']/icon"/>
                </xsl:attribute>
                <xsl:value-of select="part[@p='d']/t"/>
            </sky>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="*"/>
</xsl:stylesheet>
